import logging


class Log:
    def __init__(self, log_file='add_table.log', log_level=logging.INFO):
        # 创建一个记录器
        self.logger = logging.getLogger(__name__)
        self.logger.setLevel(log_level)

        # 创建一个文件处理器
        file_handler = logging.FileHandler(log_file)
        file_handler.setLevel(log_level)

        # 创建一个控制台处理器
        console_handler = logging.StreamHandler()
        console_handler.setLevel(logging.INFO)

        # 创建一个格式化器
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        file_handler.setFormatter(formatter)
        console_handler.setFormatter(formatter)

        # 将处理器添加到记录器
        self.logger.addHandler(file_handler)
        self.logger.addHandler(console_handler)

    def debug(self, message):
        self.logger.debug(message)

    def info(self, message):
        self.logger.info(message)

    def warning(self, message):
        self.logger.warning(message)

    def error(self, message):
        self.logger.error(message)

    def critical(self, message):
        self.logger.critical(message)

log = Log()
# 调用示例
if __name__ == "__main__":
    log = Log()
    log.debug('这是一条调试信息')
    log.info('这是一条普通信息')
    log.warning('这是一条警告信息')
    log.error('这是一条错误信息')
    log.critical('这是一条严重错误信息')
